UpdateHandler Class Reference

UpdateHandler implements IUpdateManager and IUpdateHandler to handle dependencies between objects to store and forward messages to dependent objects. More...

#include <updatehandler.h>

Inheritance diagram for UpdateHandler:
Inheritance graph
[legend]

Public Member Functions

 UpdateHandler ()
 ~UpdateHandler ()
virtual tresult addDependent (FUnknown *object, IDependent *dependent)
 register
virtual tresult removeDependent (FUnknown *object, IDependent *dependent)
 unregister
virtual tresult triggerUpdates (FUnknown *object, int32 message)
 send
virtual tresult deferUpdates (FUnknown *object, int32 message)
 send
virtual tresult cancelUpdates (FUnknown *object)
 cancel pending messages send by
virtual tresult triggerDeferedUpdates (FUnknown *object=0)
 send pending messages send by
virtual Steinberg::FClassID isA () const
virtual bool isA (Steinberg::FClassID s) const
virtual bool isTypeOf (Steinberg::FClassID s, bool askBaseClass=true) const
Steinberg::tresult queryInterface (const Steinberg::TUID iid, void **obj)
virtual Steinberg::uint32 addRef ()
virtual Steinberg::uint32 release ()

Static Public Member Functions

static Steinberg::FClassID getFClassID ()
static UpdateHandlerinstance (bool create=true)

Detailed Description

UpdateHandler implements IUpdateManager and IUpdateHandler to handle dependencies between objects to store and forward messages to dependent objects.

This implementation is thread save, so objects can send message, add or remove dependents from different threads. Do do so it uses mutex, so be aware of locking.


Constructor & Destructor Documentation

UpdateHandler (  ) 
~UpdateHandler (  ) 

Member Function Documentation

tresult addDependent ( FUnknown *  object,
IDependent *  dependent 
) [virtual]

register

Parameters:
dependent to get messages from
object 
tresult removeDependent ( FUnknown *  object,
IDependent *  dependent 
) [virtual]

unregister

Parameters:
dependent to get no messages from
object 
tresult triggerUpdates ( FUnknown *  object,
int32  message 
) [virtual]

send

Parameters:
message to all dependents of
object immediately
tresult deferUpdates ( FUnknown *  object,
int32  message 
) [virtual]

send

Parameters:
message to all dependents of
object when idle
tresult cancelUpdates ( FUnknown *  object  )  [virtual]

cancel pending messages send by

Parameters:
object or by any if object is 0

Implements IUpdateManager.

tresult triggerDeferedUpdates ( FUnknown *  object = 0  )  [virtual]

send pending messages send by

Parameters:
object or by any if object is 0

Implements IUpdateManager.

static Steinberg::FClassID getFClassID (  )  [inline, static]

Reimplemented from FObject.

virtual Steinberg::FClassID isA (  )  const [inline, virtual]

Reimplemented from FObject.

virtual bool isA ( Steinberg::FClassID  s  )  const [inline, virtual]

Reimplemented from FObject.

virtual bool isTypeOf ( Steinberg::FClassID  s,
bool  askBaseClass = true 
) const [inline, virtual]

Reimplemented from FObject.

Steinberg::tresult queryInterface ( const Steinberg::TUID  iid,
void **  obj 
) [inline]
virtual Steinberg::uint32 addRef (  )  [inline, virtual]

Reimplemented from FObject.

virtual Steinberg::uint32 release (  )  [inline, virtual]

Reimplemented from FObject.

static UpdateHandler* instance ( bool  create = true  )  [inline, static]
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines
Empty

Copyright ©2013 Steinberg Media Technologies GmbH. All Rights Reserved.